﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net;

namespace Icebird//数据库组写，网络组调用;
{
    public class ShowMessageArgs : EventArgs
    {
        public int topicID;
        public Message msg;
    }

    interface INetworkToClient
    {
        public int UserId;
        public event EventHandler<ShowMessageArgs> ShowMessage;
        public static int UserSignIn(string UserName,string PassWord)//注册一个新的账号
////constructor has no returnvalue,only initialize the property "userid",
//recommend:return int to indicate the signin status,
        public LoginState UserLogin(string UserName,string PassWord,string ServerIPAddress);//登录，网络组同学注意要取得UserId并记录
//IPAddress means the server'ip here,
        public ArrayList<Group> GetGroups(int StartPosition,int EndPosition);//进入Groups界面，得到从StartPosition到EndPosition部分的Groups列表
        //注意这里的ArrayList中每个元素为一个类，其中包含GroupId和GroupName，由DB组完成
        public ArrayList<Topic> GetTopics(int StartPosition,int EndPosition,int GroupId);//进入Topics界面，得到从SP到EP部分的Topics列表
        //注意这里的ArrayList中每个元素为一个类，其中包含TopicId，创建这个Topic的UserName，创建时间，Topic标题，Topic中Reply总数，由DB组完成
        public ArrayList<Message> GetReplies(int StartPosition,int EndPosition,int TopicId);//进入Replies界面，得到从SP到EP部分的Replies列表
        //注意这里的ArrayList中每个元素为一个类，其中包含ReplyId，Reply内容，发Reply的UserName，创建时间,由DB组完成
        public int DeleteFocus(int TopicId);//监听用户退出一个Topic
        public int AddReply(int TopicId,string Content);//添加一个新的Reply
        public int AddFocus(int TopicId);//用户进入一个新的Topic;
        public LoginState LogOut();//登出
    }
}
